In recent years, there has existed cloud computing in which a plurality of applications are collaboratively operated on a network thus providing services to users.
In a computer network, for the reliability of data communication, a connection-oriented protocol typified by a transmission control protocol (TCP) is generally used. However, when each application uses the TCP to perform data communication, processing for establishing connection in a handshake process or processing for the acknowledgement of data transfer occurs; for example, when a communication range is long, there exists a case that delay occurs even when a network band is sufficient.
To prevent the occurrence of the delay, there exists a conventional technique substituted for the TCP. FIG. 13 is a view for explaining one example of the conventional technique. In the example illustrated in FIG. 13, an application 10 transmits data to a TCP client 15, and the TCP client 15 transmits a TCP packet to relay software 20.
The relay software 20 captures the TCP packet and converts the TCP packet into a user datagram protocol (UDP) that is a connectionless protocol and a retransmission algorithm to perform data transfer. To be more specific, the relay software 20 converts the TCP packet to a UDP packet to perform data transfer by the UDP. Furthermore, the relay software 20 divides an application layer in two and provides a high-speed transfer unit provided with a retransmission algorithm for performing recovery for dealing with missed data by the UDP or band control. These related-art examples are described, for example in Japanese Laid-open Patent Publication No. 2009-49506.
However, in the above-mentioned conventional technique, there has been a drawback that a communication band is not sufficiently allocated to a group of applications with a smaller amount of data communication, thus causing congestion in retransmission of data.
FIG. 14 is a view for explaining a drawback in the conventional technique. In an example illustrated in FIG. 14, transfer devices 30a and 30b are connected to each other via a network 50. The transfer device 30a has applications 15a, 15b, and 15c, and relay software 20a. The transfer device 30b has applications 16a, 16b, and 16c, and relay software 20b. 
For example, the application 15a is a low performance application whose amount of data communication is small and uses the relay software 20a and 20b to perform data communication with the application 16a. The application 15b is a high performance application whose amount of data communication is large and uses the relay software 20a and 20b to perform data communication with the application 16b. The application 15c is a low performance application whose amount of data communication is small and performs data communication with the application 16c. The relay software 20a or 20b corresponds to the relay software 20 illustrated in FIG. 13.
The conventional relay software 20a or 20b allocates a communication band depending on the performance of each application without considering the maximum communication band of the network 50. Therefore, there exists the case that the relay software 20a or 20b allocates a large communication band to a group of the high performance applications 15b and 16b. In this manner, when the relay software 20a or 20b allocates a communication band to each application, the communication band of the network 50 is occupied, and sufficient communication band is not allocated between the applications 15a and 16a or between the applications 15c and 16c thus causing congestion in retransmission of data.